规范的 git commit

Commit Message 格式

<type>(<scope>): <subject>

Type(必须)

Type 用于说明 git commit 的类别,只允许使用以下标识:

  • feat:新增功能(feature)。
  • fix/to:修复 bug。
    • fix:产生 diff 并自动修复此问题。适合于一次提交直接修复问题。
    • to:只产生 diff 不自动修复此问题。适合于多次提交。最终修复问题提交时使用 fix。
  • docs:文档(documentation)。
  • style:格式(不影响代码运行的变动)。
  • refactor:重构(即不是新增功能,也不是修改 bug 的代码变动)。
  • perf:优化相关,比如提升性能、体验。
  • test:增加测试。
  • chore:构建过程或辅助工具的变动。
  • revert:回滚到上一个版本。
  • merge:代码合并。
  • sync:同步主线或分支的 Bug。

Scope(可选)

Scope 用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。例如在 Angular,可以是locationbrowsercompilerootScopengHrefngClickngView等。如果你的修改影响了不止一个 scope,你可以使用*代替。

Subject(必须)

Subject 是 commit 目的的简短描述,不超过 50 个字符。

  • 建议使用中文,以便更清晰地描述问题。
  • 结尾不加句号或其他标点符号。

示例

1
2
fix(DAO):用户查询缺少username属性
feat(Controller):用户查询接口开发